package com.sunni.dao_old.impl;

import com.sunni.dao_new.AccountMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;

public class AccountMapperImplTest_new {

    // day12-02 : 代理开发
    @Test
    public void testSelectAll_new() throws IOException {
        InputStream resource = Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resource);
        SqlSession sqlSession = sqlSessionFactory.openSession();

        AccountMapper accountMapper = sqlSession.getMapper(AccountMapper.class);
        // * getMapper为接口, (自动)生成代理的实现类。(代理的实现类 再调用XxMapper.xml映射文件内的方法)
            //  * 原来 :  new XxxMapperImpl() ,[自己]手动实例化 接口的实现类。
            //  * 现在 :  getMapper(接口.class) , [mybatis]自动创建(接口的)代理(类型的)实现类。(代理实现类调用映射文件方法, 就不用自己手写实现类了)
        System.out.println(accountMapper.selectAll());
        sqlSession.close();
    }

}
